package com.uncp.comisiondeadmision.dao;

import java.util.ArrayList;
import java.util.List;

import javax.faces.model.SelectItem;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Query;

import com.uncp.comisiondeadmision.util.entity.ETipomodalidad;

public class DTipoModalidad implements IDTipoModalidad {

	private EntityManagerFactory emf;
	private EntityManager em;

	@SuppressWarnings("rawtypes")
	public List<SelectItem> listarTipoDeModalidades() {

		em = emf.createEntityManager();

		List<SelectItem> lstTipoModalidades = new ArrayList<SelectItem>();

		try {

			Query query = em.createQuery("select tm from ETipomodalidad tm");

			List tipoModalidades = query.getResultList();

			for (int i = 0; i < tipoModalidades.size(); i++) {

				ETipomodalidad eTipoModalidad = (ETipomodalidad) tipoModalidades
						.get(i);

				SelectItem item = new SelectItem(
						eTipoModalidad.getInt_cod_moda(),
						eTipoModalidad.getStr_nom_moda());

				lstTipoModalidades.add(item);

			}

		} catch (Exception e) {
			e.printStackTrace();
		}

		return lstTipoModalidades;

	}

	public ETipomodalidad obtenerCostoXTipoModalidad(int codTipoModalidad) {

		em = emf.createEntityManager();

		ETipomodalidad tipoModalidad = null;

		try {

			Query query = em
					.createQuery("select tm from ETipomodalidad tm where tm.int_cod_moda= :codTipoModalidad");

			query.setParameter("codTipoModalidad", codTipoModalidad);

			tipoModalidad = (ETipomodalidad) query.getSingleResult();

		} catch (Exception e) {
			e.printStackTrace();
		}

		return tipoModalidad;
	}

	public void setEmf(EntityManagerFactory emf) {
		this.emf = emf;
	}

}
